home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Tools 2
/
Amiga Tools 2.iso
/
amiga-magazin-pd
/
03-95-2
/
einfach klasse
/
listing-3.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-03-09
|
654b
|
37 lines
/*
* Listing 3: ©1994 Clemens Marschner
* einfaches Beispiel von try und catch
* Listing 2 ist zum Abdruck allerdings vorzuziehen,
* da es einige Sachverhalte mehr abdeckt. Dieses nur bei
* akutem Platzmangel statt Listing 2 einsetzen!
*/
#include <pragma/exec_lib.h>
#include <stream.h>
struct MemX {
long Size;
MemX(long sz) : Size(sz) {}
};
void *allc() {
void *mem;
const size = 100000000;
// »sehr viele Bytes«
if(!(mem=AllocMem(size, 0)))
throw MemX(size);
return mem;
}
void main() {
try {
void *mem = allc();
FreeVec(mem);
} catch (MemX mx) {
cout << "Konnte " << mx.Size << " Bytes nicht"
" allokieren!\n";
}
}